package woshiheima12;

/**
 * 二分法查找数据
 */
public class ErfenFa {
    public static void main(String[] args) {
        //创建一个有序数组
        int [] arr = new int[]{1,2,3,4,5,6,7,8,9};

        //目标元素
        int target=8;

        //起始位置
        int bengin= 0;
        //结尾位置
        int end = arr.length-1;
        //中间位置
        int mid = (end+bengin)/2;
        System.out.println(mid);
        //记录目标位置
        int index= -1;

        //循环查找
        while (true){
            //中间元素就是要找的情况
            if (arr[mid]==target){
                index=mid;
                break;
            }else{
                //当中间元素大于目标元素
                if (arr[mid]>target){
                        end=mid-1;
                }else {
                    //当中间元素小于目标元素
                        bengin=mid+1;
                }
                mid=(end+bengin)/2;

            }
        }
        System.out.println("目标元素的位置是："+index);
    }

}
